Many types of systems support hard decision (HD) decodings and soft-decision (SD) decodings.
For example, a nonvolatile memory device includes a plurality of memory cells that store data in a nonvolatile manner. An example of the nonvolatile memory device is a flash memory device. Some flash memory applications support HD decodings and SD decodings.
When HD decoding fails, an SD decoding algorithm may be used to increase the probability of correctly decoding a codeword. One type of SD is algebraic SD decoding.